Mapping manual/Additional gametype support
This page contains information for mappers regarding specific gametypes, like the special entities needed or suggestions on how to make them good. You may also be interested into reading Mapping#Limiting items to certain gametypes and Mapping#Gametypes. General Spawn points * For non-objective based gamemodes (FFA, Tournament, LMS, Team Deathmatch) and Domination, players start at info_player_deathmatch or info_player_start points. Id recommends to use the former with the INITIAL spawnflag setIn the .map code, "spawnflags" "1". Double Domination can use its own specific spawnpoints (info_player_dd, or info_player_dd_blue and info_player_dd_red), if existing. * Any map should include an info_player_intermission point. It should be linked to an info_notnull or to a target_position entity. Alternatively, it may just have a "facing angle", set using "angle/number" key/value or "angles/pitch, yaw, roll numbers" key/value. This is where the screen will point when a match is finished and the score table is shown. Also, spectators will spawn in these points, regardless of the info_player_start being present. * For ALL gametypes, the info_player_deathmatch points will be used for spawning if the gametype's dedicated spawn point entity is missing. For this motive, there should be at least 8 info_player_deathmatch with the "initial" flag set and without the "gametype" flag set, or the game will crash on unrecognized gametypes. Objectives * Avoid the placement of both the "gametype" and "notq3a" keys into key entities such as CTF flags, DOM points and the like. Both keys are now useless since the Missionpack items are already included into OA itself, and some third-party mods such as Threewave CTF may require these objectives. Gametype-specific configuration * Sometimes, mappers want to limit some items to a few gametypes. Each item has a flag, called "gametype", which determines in which gametype it should spawn. For example, if there's a Megahealth in the map which should only spawn in the Domination gametype, a mapper can set it's "gametype" flag to "dom" inside of the editor, so it appears in the way "gametype" "dom". * Likewise, a mapper can set his/her creation so it can only be selected via menu or voted by way of the ".arena" file. This file is placed in the "scripts/" folder of the .pk3 archive. The line which sets the gametypes this map supports is "type". For example, if the mapper has done a map which only supports the Free For All, Last Man Standing and Domination gametypes, the "type" line should be "type" "ffa lms dom". * The table for both points is the following: Other * For team-based games, it's recommended to add location names in the maps (like "blue base", "red armor", "bridge", "central square", etc.) by using the target_location entity. After doing this, during team-based gametypes, players will be informed of the location of their team-mates, in the team overlay infos, and when they use the "chat-team" feature. See Mapping#Location names. Gametype-specific tips Free For All * Any map size will go well. It's "Free For All", after all. Tournament * Small maps are encouraged, due to the 1on1 battles. Single Player Deathmatch * Any map size will go well. Just make sure to put the adequate amount of bots the map needs, counting the player, in the .arena file. (For example, for small maps, no more than 1 or 2 bots) Team Deathmatch * Medium/large maps should work well. They don't need to be specular or balanced: maps designed for FFA should be okay. Capture the flag * Players spawn at: ** team_CTF_blueplayer for blue players, the first time they enter to the map. ** team_CTF_bluespawn for blue players, for respawning. ** team_CTF_redplayer for red players, the first time they enter to the map. ** team_CTF_redspawn for red players, for respawning. * Place a team_CTF_blueflag entity where the blue flag will be (in the blue base). * You can place a team_blueobelisk where the blue flag is, to place a sort of "basement" for the blue flag. It needs a facing angle. Alternatively, you can use any model (or texture/shader) for the same work. * Place a team_CTF_redflag entity where the red flag will be. * You can place a team_redobelisk where the red flag is, to place a sort of "basement" for the red flag. It needs a facing angle. Alternatively, you can use any model (or texture/shader) as base for the same work. * Place red and blue colored decorations (tapestry, arrows, etc.) around the arena, to help people find and distinguish the two bases. * CTF maps are usually symmetric (exactly identical in both sides, or like in a mirror), except for colors. Their size may vary from medium/small to very large. One Flag Capture * Sans for the two first rules (which are replaced by the two rules above), every other mapping rule for CTF applies here (e.g. don't forget to place red and blue flags), plus: * Place a team_CTF_neutralflag at the center of the map (or however in a place equidistant from both bases). * Place a model (or texture/shader) where the white flag is, to place a sort of "base" for it. Team_neutralobelisk can be (ad usually is) used for this if you wish (will show a small pedestal), however you can use anything you prefer.If you are using OpenArena 0.8.8: "red and blue flags pedestals/skull receptacles/obelisks" and "white flag pedestal/skull generator" entities (team_redobelisk, team_blueobelisk, team_neutralobelisk) should work correctly out-of-the-box, without the need to tweak their models: simply place the entities aligning their "origin point" with the ground (don't worry if models look like "buried in the ground" in the editor, just focus on their "origin" points for these entities alignment); please notice the red and blue flag pedestals will be visible in Oneflag and Harvester modes, while will be "hidden" under the floor level in Overload mode (due to the fact a completely different model -the proper "obelisk"- will automatically appear seemingly floating above that point); in case the platform where the obelisk is placed is visible from below or laterally, please remember to make it thick enough to completely hide the flag pedestal. If you are using OA 0.8.5: Here (from this thread) you can find a "ntrl_base.md3" that you can use for neutral flag pedestal/skull generator, together with better aligned models for red and blue flag bases and the obelisk (thought to be used instead of stock 0.8.5 models, that had their origin point not correctly placed). In both cases: Always remember that red and blue obelisks "origin" point MUST be aligned with the ground, or some bots will not work correctly in Overload mode! Also remember that currently the three flag pedestals models look the same (a small, shining black metallic tripod), but their entities effects vary depending from the gametype, hence be sure to place the right one in the right place. Overload * Place a team_blueobelisk entity where the blue obelisk will be (in the blue base), with its "origin" point perfectly aligned with the ground. The obelisk needs a facing angle (it determines the orientation of the object). * Place a team_redobelisk entity where the red obelisk will be (in the red base), with its "origin" point perfectly aligned with the ground. It needs a facing angle. * This mode is usually played in maps designed for CTF. Extremely important: when placing the obelisks, you have to be careful, in order to avoid an insidious problem from happening in the game (probably caused by some bug in gamecode, maybe there since Team Arena). The "origin" of the obelisk (its x, y, z coordinates) MUST touch the ground surface, otherwise bots will not be able to correctly identify it as a target, and when playing, you would see the bots act strangely, shooting at the "client 0" player, even if he's their own team-mate!! When creating an Overload map, you should always test it to be sure that bots will not shoot at the client 0 if their team-mate (if you play locally, in non-dedicated server mode, you will always be client 0: just go near to your teammates and see if they shoot at you). Be aware that this strange bot behavior may happen to one team only: be sure to test for this problem both while playing as BLUE and while playing as RED. Harvester * Place a team_blueobelisk entity where the blue skulls receptacle will be (in the blue base). * Place a team_redobelisk entity where the red skulls receptacle will be (in the red base). * Place a team_neutralobelisk entity in a place equidistant from both bases, where the skulls generator will be. Optionally, you may design map geometry or shaders near it to make that area more visible (currently, skull generator and skull receptacles models look like flag pedestals: small, shining black metal tripods). Elimination * Since no weapons are present in EliminationWeapons and powerups are automatically removed, you don't need to manually remove them, the most important entities are the player spawns. * If the map contains team spawn points, these will be used. Make sure there are enough team_CTF_redspawn and team_CTF_bluespawn points, or there will be massive telefragging in the start of the round as all players respawn simultaneously.Remember that, unlike other gametypes, in Elimination, CTF Elimination and LMS modes, dead players can't play until the next round begins: some players may not be able to play at all, if there are not enough spawn points! If there are no team spawns, the info_player_deatchmatch will be used for both teams. Again, be aware of where these points are placed and how many they are. * Hiding places aren't recommended in Elimination. * Some large areas (with high or no ceiling -"no ceiling" meaning an high-positioned sky brush, or a "skybox"-), that encourage rocket jumps (even as shortcuts to reach higher floors or distant platforms), are welcome. * Due to a tech problem (confirmed in OA 0.8.8) with Elimination and CTF Elimination, at the initial map loading the player could see the map from the point of view of coordinates 0,0,0 for a while, and this may be not nice to see, if that point is inside a wall or in the external "void": while mapping, one might consider what's the view from that point, to avoid bad effects (0,0,0 should not be in the outer void, or in walls/floor/ceiling... and possibly it should have enough free space around it for completely contain a character, to allow camera movement). Anyway, this little "problem" lasts just few instants (until the first "active" warm-up begins: this time depends from the difference between elimination_warmup and elimination_activewarmup variables), it is noticeable under some cirumstances only (e.g. launching the map from the Skirmish menu), and it does not affect actual match in any way; hence, don't consider this hint as mandatory. CTF Elimination For CTF Elimination, the same rules as standard Elimination applies, but there are a few differences: *There are flags (red and blue). *The teams do not change sides every round. *Maps should be fair for both teams. (Like normal CTF maps: they need not be symmetrical but must be balanced!) *Maps might encourage camping in some areas since surviving no longer guaranties victory. Last Man Standing *Same as Deatchmatch maps. *Be sure there are enough spawn points: initial "telefragging" has to be avoided, considering all players spawn at the same time and dead characters don't revive until the next round. *Hiding places should be avoided. *Maybe the maps could also be medium-big, but not enormous, since, as the time passes, there are less players inside the arena, with the others out, waiting for the next round. Double Domination * Place the two points. They don't have a special entity, but use the same as the CTF flags: team_CTF_redflag (for the "A" point) and team_CTF_blueflag (for the "B" point). * Players spawn at info_player_dd_red and info_player_dd_blue points. If the teams does not need a specific spawn location info_player_dd points can be used instead.The fact that, if gametype-specific spawn points are missing, all game modes fall back into using info_player_deathmatch spawn points, makes easy to create Double Dominaton compatible maps also if you are mapping with q3radiant and you don't have OpenArena specific entities there. Please try to avoid players spawning too near to the A and B points.''If players spawn too near to the A and B points, it may become almost impossible to protect them for 10 seconds. If you rely on generic info_player_deathmatch spawn ponts -instead of using the dedicated DD spawn points-, you may want to use the OA-specific "!gametype" key to disable those info_player_deathmatch entities that are too near to the A and B points when playing in DD mode, while having them active in all other gametypes (see ''Mapping#Limiting items to certain gametypes for more infos). * Maps can be unbalanced and of any size (both CTF and FFA maps will work well). For example, oa_minia, a DM map, includes these points one near the other. Domination *Gametype available through the console from 0.7.6, and later also from the GUI. *Players spawn at info_player_dom points. Versions after 0.8.8 can also use info_player_dom_red and info_player_dom_blue like in Double Domination. *Domination points are placed at domination_point entities. *There can be max 6 domination points *Scoring occurs at half speed if there are more than 3 domination points. *The 'message' flag can be used to give the point a name that will be shown ingame (very useful to know which team "owns" each point at any time). Names can be like "1, 2, 3.." or "A, B, C..", but if possible names that somehow can identify their position, like (just an example) "ground floor, bridge, railgun room, lava pit, red base, statue room", could be better. *The map can be specular or not, balanced or not (you may pontentially apply the domination points to any FFA or CTF map): you can place the domination points where you wish. Runes * The Runes (item_doubler, item_guard, item_scout and item_ammoregen) were introduced first in Quake 3: Team Arena, alongside the gametypes One Flag CTF, Harvester and Overload. It's quite normal to place such items in maps designed for these gametypes. However, they can be placed also in maps thought for other gametypes. * In OpenArena, they can be disabled/enabled with the \g_runes <0 or 1> cvar. The runes are disabled by default. This means that if you place some of them in a map, they will be visible only if \g_runes is active. However, in the missionpack mod, instead, they are always enabled, independently from that variable. * Another important thing to know is why they are also called Team power-ups: it's because they were first intended to be available only for a specific team (usually, the player can grab only those placed inside his own base)... if you want to make them work this way, please read Mapping#Limiting items to certain teams and Mapping#Limiting items to certain gametypes. If you want, you can place something (model, or texture/shader) colored (red or blue) on the floor under them (or on the walls next to them) to help to identify for which team they are dedicated. * The standard use of runes is to place them in the two bases, and use "spawnflags" to allow the players of a each team to get only those in their base. But it's also possible to place them in the middle of the map, without team limits: this would make the two teams battle to get them. See also * Mapping * Mapping resources & tutorials * Entities-only editing External links * Design for all Team Arena Gametypes - Useful informations about the entities needed for Capture the Flag, One Flag Capture, Overload and Harvester gametypes. If the link above is not shown correctly in your web browser (seeing the HTML source instead of the standard view), try to use another browser or to access this cache copy of the page. References Category:Development Category:Mapping